****************************************************************************
* File-Name: 		study1.do
* Date:		 12/19/2022
* Author: 		Batista Pereira et al.
* Purpose: 		Analysis of panel data for Study 1
* Data used: 		study1.dta
* Data Output:	
   * Table 1: itt and cace for intervention in study 1
   * Tables A1-A15 in Appendices 4-11
 ** Note: whenever possible we included codes to replicate all tables in .tex 
 *         format. The formatting of the replicated tables might differ  
 *        from the tables included in the manuscript. 
****************************************************************************


* For generating tables in .tex: 
ssc install estout, replace
ssc install tabout, replace
ssc install eclplot, replace
ssc install ivreg2, replace
ssc install ranktest, replace 
ssc install esizereg, replace 
ssc install leebounds, replace 
 

*************** RECODING VARIABLES

* v1-v51 - wave 1
* v52-v93 - wave 2

* MAIN TREATMENT

encode v2, gen(treat)

replace treat = treat - 1

* COMPLIANCE: OPENED EMAIL

encode v3, gen(email)

recode email (1 3=0) (2=1)

* COMPLIANCE: ACTIVATED VOUCHER

encode ativa, gen(activate)

recode activate  (2=0)

* COMPLIANCE: FILLED VOUCHER INFORMATION ON WEBSITE

encode cadastro, gen(filledinfo)

recode filledinfo (2=0)

* COMPLIANCE: USED VOUCHER TO ACCESS WEBSITE LATER

encode usa, gen(use)

recode use  (2=0)

* COMPLIANCE 1 (OPENED EMAIL VERSUS OTHERS)

gen comply1 = email

*recode comply1 (.=.) (2=1) (else=0)

* COMPLIANCE 2 (FILLED INFO VERSUS OTHERS)

gen comply2 = filledinfo

* COMPLIANCE 3 (FILLED INFO AND EMAIL)

gen comply3 = 0
replace comply3 = 1 if comply1==1
replace comply3 = 1 if comply2==1
replace comply3=. if comply1==.


* DROPPED AND SELF-SELECTED

encode v79, gen(dropped)

recode dropped (1=0) (2=1) (3=0)

gen select = 1 - dropped


*BELIEF IN FAKE NEWS

* round 1

encode v46, gen(fake1_1)

replace fake1_1 = fake1_1 -1

encode v47, gen(fake2_1)

replace fake2_1 = fake2_1 -1

encode v48, gen(fake3_1)

replace fake3_1 = fake3_1 -1

encode v49, gen(fake4_1)

replace fake4_1 = fake4_1 -1

gen fakebelief1 = fake1_1 + fake2_1 +  fake3_1 +  fake4_1 

gen fakebelief1_01 = fakebelief1/4

gen fakemin1 = fakebelief1

recode fakemin1 (1 2 3 4=1)

* round2

encode v79, gen(fake1_2)

recode fake1_2 (1=0) (2=.) (3=1)

encode v80, gen(fake2_2)

recode fake2_2 (1=0) (2=.) (3=1)

encode v81, gen(fake3_2)

recode fake3_2 (1=0) (2=0) (3=.) (4=1)

encode v82, gen(fake4_2)

recode fake4_2 (1=0) (2=.) (3=1)

gen fakebelief2 = fake1_2 + fake2_2 +  fake3_2 +  fake4_2

gen fakebelief2_01 = fakebelief2/4

gen fakemin2 = fakebelief2

recode fakemin2 (1 2 3 4=1)


* separating positive from negative

gen fakepos2 = (fake1_2 +  fake4_2)/2

gen fakeneg2 = (fake2_2 +  fake3_2)/2

* diff in diff for repeated rumor

gen diff = fake1_2 - fake1_1

* silly diff-in-diff

*gen difftotal = fakebelief2 - fakebelief1


*** POLITICAL KNOWLEDGE

** wave 1

* knowledge wave 1

encode v8, gen(know1_1)

recode know1_1 (.=.) (2=1) (else=0)

encode v9, gen(know2_1)

recode know2_1 (.=.) (4=1) (else=0)

encode v10, gen(know3_1)

recode know3_1 (.=.) (5=1) (else=0)

encode v11, gen(know4_1)

recode know4_1 (.=.) (1=1) (else=0)

gen knowledge1 = know1_1 +  know2_1 + know3_1 + know4_1

gen knowledge1_01 = knowledge1/4


* self knowledge wave 1

encode v12, gen(selfknow1)

recode selfknow1 (.=.) (1=2) (2=0) (3=4) (4=3) (5=1)

gen selfknow1_01 = selfknow1/4

* others’ knowledge wave 1

encode v13, gen(othersknow1)

recode othersknow1 (.=.) (1=2) (2=0) (3=4) (4=3) (5=1)

gen othersknow1_01 = othersknow1/4


** wave 2

* knowledge wave 2

encode v53, gen(know1_2)

recode know1_2 (.=.) (2=1) (5=.) (else=0)

encode v54, gen(know2_2)

recode know2_2 (.=.) (4=1) (5=.) (else=0)

encode v55, gen(know3_2)

recode know3_2 (.=.) (6=1) (4=.) (else=0)

encode v56, gen(know4_2)

recode know4_2 (.=.) (1=1) (5=.) (else=0)

gen knowledge2 = know1_2 +  know2_2 + know3_2 + know4_2

gen knowledge2_01 = knowledge2/4

* self knowledge wave 2

encode v57, gen(selfknow2)

recode selfknow2 (.=.) (1=2) (2=.) (3=0) (4=4) (5=3) (6=1)

* others’ knowledge wave 2

encode v58, gen(othersknow2)

recode othersknow2 (.=.) (1=2) (2=.) (3=0) (4=4) (5=3) (6=1)


*** MEDIA CONSUMPTION

* media consumption wave 1

encode v37, gen(globo1)
recode globo1 (8=0) (.=.)
gen globo1_01 = globo1/7

encode v38, gen(record1)
recode record1 (8=0) (.=.)
gen record1_01 = record1/7

encode v39, gen(fsp1)
recode fsp1 (8=0) (.=.)
gen fsp1_01 = fsp1/7

encode v40, gen(tercalivre1)
recode tercalivre1 (8=0) (.=.)
gen tercalivre1_01 = tercalivre1/7

encode v41, gen(brasilparalelo1)
recode brasilparalelo1 (8=0) (.=.)
gen brasilparalelo1_01 = brasilparalelo1/7

encode v42, gen(uol1)
recode uol1 (8=0) (.=.)
gen uol1_01 = uol1/7

encode v43, gen(jovempam1)
recode jovempam1 (8=0) (.=.)
gen jovempam1_01 = jovempam1/7

encode v44, gen(brasil2471)
recode brasil2471 (8=0) (.=.)
gen brasil2471_01 = brasil2471/7

* media trust wave 1

encode v45, gen(mediatrust1)

recode mediatrust1 (.=.) (1 2=0) (3=1) (4=10) (5=2) (6=3) (7=4) (8=5) (9=6) (10=7) (11=8) (12=9)

gen mediatrust1_01 = mediatrust1/10

* media consumption wave 2

encode v70, gen(globo2)
recode globo2 (.=.) (8=.) (9=0)
gen globo2_01 = globo2/7

encode v71, gen(record2)
recode record2 (.=.) (8=.) (9=0)
gen record2_01 = record2/7

encode v72, gen(fsp2)
recode fsp2 (.=.) (8=.) (9=0)
gen fsp2_01 = fsp2/7

encode v73, gen(tercalivre2)
recode tercalivre2 (.=.) (8=.) (9=0)
gen tercalivre2_01 = tercalivre2/7

encode v74, gen(brasilparalelo2)
recode brasilparalelo2 (.=.) (8=.) (9=0)
gen brasilparalelo2_01 = brasilparalelo2/7

encode v75, gen(uol2)
recode uol2 (.=.) (8=.) (9=0)
gen uol2_01 = uol2/7

encode v76, gen(jovempam2)
recode jovempam2 (.=.) (8=.) (9=0)
gen jovempam2_01 = jovempam2/7

encode v77, gen(brasil2472)
recode brasil2472 (.=.) (8=.) (9=0)
gen brasil2472_01 = brasil2472/7


* media trust wave 2

encode v78, gen(mediatrust2)

recode mediatrust2 (1 2=0) (3=1) (4=10) (5=10) (6=2) (7=3) (8=4) (9=5) (10=6) (11=7) (12=8) (13=9) (14=.)

gen mediatrust2_01 = mediatrust2/10


*** FOLHA SUBSCRIPTION (WAVE 1)

encode v51, gen(folhasub)

replace folhasub = folhasub - 1


*** PRESIDENTIAL VOTING

* 2018 vote

encode v20, gen(pastvote)
recode pastvote (1 4=0) (2=1) (3=2)

gen votedbolso = pastvote
recode votedbolso (2=1) (else=0)

gen votedhaddad = pastvote
recode votedhaddad (1=1) (else=0)

* for ttest

tab v20, gen(pastvote)


* 2022 vote

encode v21, gen(futurevote)
recode futurevote (1 4 5=0) (2=1) (3=2)

gen willvotebolso = futurevote
recode willvotebolso (2=1) (else=0)

gen willvotehaddad = futurevote
recode willvotehaddad (1=1) (else=0)

* for ttest

tab v21, gen(futurevote)


*** ISSUE OPINIONS

encode v25, gen(issue1)
recode issue1 (1 2=1) (3=2) (4=3) (5=4) (6=5) (7=6) (8=7) (9=7)
replace issue1 = (issue1 -1)/6

encode v26, gen(issue2)
recode issue2 (1 =1) (2=2) (3=3) (4=4) (5=5) (6=6) (7=7) (8=7)
replace issue2 = (issue2 -1)/6

encode v27, gen(issue3)
recode issue3 (1 2=1) (3=2) (4=3) (5=4) (6=5) (7=6) (8=7) (9=7)
replace issue3 = (issue3 -1)/6

encode v28, gen(issue4)
recode issue4 (1 2=1) (3=2) (4=3) (5=4) (6=5) (7=6) (8=7) (9=7)
replace issue4 = (issue4 -1)/6

encode v29, gen(issue5)
recode issue5 (1 2=1) (3=2) (4=3) (5=4) (6=5) (7=6) (8=7) (9=7)
replace issue5 = (issue5 -1)/6

encode v30, gen(issue6)
recode issue6 (1 2=1) (3=2) (4=3) (5=4) (6=5) (7=6) (8=7) (9=7)
replace issue6 = (issue6 -1)/6

encode v31, gen(issue7)
recode issue7 (1 2=1) (3=2) (4=3) (5=4) (6=5) (7=6) (8=7) (9=7)
replace issue7 = (issue7 -1)/6

encode v32, gen(issue8)
recode issue8 (1 2=1) (3=2) (4=3) (5=4) (6=5) (7=6) (8=7) (9=7)
replace issue8 = (issue8 -1)/6


*** POLITICIANS LEFT-RIGHT PLACEMENT

encode v15, gen(russomano_lr)
recode russomano_lr (1=0) (2=0) (3=1) (4=10) (5=10) (6=2) (7=3) (8=4) (9=5) (10=6) (11=7) (12=8) (13=9)
replace russomano_lr = russomano_lr/10

encode v16, gen(tatto_lr)
recode tatto_lr (1=0) (2=0) (3=1) (4=10) (5=10) (6=2) (7=3) (8=4) (9=5) (10=6) (11=7) (12=8) (13=9)
replace tatto_lr = tatto_lr/10

encode v17, gen(covas_lr)
recode covas_lr (1=0) (2=0) (3=1) (4=10) (5=10) (6=2) (7=3) (8=4) (9=5) (10=6) (11=7) (12=8) (13=9)
replace covas_lr = covas_lr/10

encode v18, gen(franca_lr)
recode franca_lr (1=0) (2=1) (3=10) (4=10) (5=2) (6=3) (7=4) (8=5) (9=6) (10=7) (11=8) (12=9)
replace franca_lr = franca_lr/10

encode v19, gen(boulos_lr)
recode boulos_lr (1=0) (2=0) (3=1) (4=10) (5=10) (6=2) (7=3) (8=4) (9=5) (10=6) (11=7) (12=8) (13=9)
replace boulos_lr = boulos_lr/10


*** PARTISANSHIP

* Partisanship

encode v22, gen(party)
recode party (158/175=2) (45=0) (else=1)

gen petista =0
replace petista=1 if party==2

gen partisan = party
recode partisan (1 2=1) (else=0)



* Antipartisanship

encode v23, gen(antiparty)
recode antiparty (258/302=2) (91 95 97=0) (else=1)

gen antipetista =0
replace antipetista=1 if antiparty==2 & party==0

gen antipartisan =antiparty
recode antipartisan (1 2=1) (else=0)


** Nonpartisanship

gen nonpartisan = 0
replace nonpartisan=1 if party==0 & antiparty==0


*** BRUNO COVAS' APPROVAL

encode v33, gen(covasapproval1)

recode covasapproval1 (1= 5) (2= 3) (3= 6) (4= 0) (5= 2) (6= 4) (7= 1)

replace covasapproval1 = covasapproval1/6


*** JOAO DORIA'S APPROVAL

encode v34, gen(doriaapproval1)

recode doriaapproval1 (1= 5) (2= 3) (3= 6) (4= 0) (5= 2) (6= 4) (7= 1)

replace doriaapproval1 = doriaapproval1/6


*** IDEOLOGY

encode v24, gen(ideology1)

recode ideology1 (.=.) (1=0) (2=1) (3=10) (4=2) (5=3) (6=4) (7=5) (8=6) (9=7) (10=8) (11=9)

gen ideology1_01 = ideology1/10


*** BOLSONARO APPROVAL

encode v35, gen(bolsoapproval1)

recode bolsoapproval1 (.=.) (1=.8) (2=.) (3=1) (4=0) (5=.4) (6=.6) (7=.2)

encode v64, gen(bolsoapproval2)

recode bolsoapproval2 (.=.) (1=.8) (2 3=.) (4=1) (5=0) (6=.4) (7=.6) (8=.2)


*** FEELING THERMOMETERS (WAVE 2)

encode v65, gen(covastherm)

recode covastherm (.=.) (1 2=0) (3=1) (4=10) (5=10) (6=2) (7=3) (8=4) (9=5) (10=6) (11=7) (12=8) (13=9) (14=.)

encode v66, gen(boulostherm)

recode boulostherm (.=.) (1 2=0) (3=1) (4=10) (5=10) (6=2) (7=3) (8=4) (9=5) (10=6) (11=7) (12=8) (13=9) (14=.)

encode v67, gen(bolsotherm)

recode bolsotherm (.=.) (1 2=0) (3=1) (4=10) (5=10) (6=2) (7=3) (8=4) (9=5) (10=6) (11=7) (12=8) (13=9) (14=.)

encode v68, gen(lulatherm)

recode lulatherm (.=.) (1 2=0) (3=1) (4=10) (5=10) (6=2) (7=3) (8=4) (9=5) (10=6) (11=7) (12=8) (13=9) (14=.)


*** DOGMATISM AND DISENGAGEMENT

encode v84, gen(dogmatism)

recode dogmatism (.=.) (1=.) (2=0) (3=1)

encode v61, gen(disengagement)

recode disengagement (.=.)  (1=.75) (2=1) (3=.25) (4=0) (5=.) (5=.5)


*** VOTE CHOICE FOR MAYOR

* voted in election

encode v4, gen(voted)
replace voted = voted - 1

* prospective second round in wave 1

encode v7, gen(vote1)
recode vote1 (.=.) (1=1) (2=2) (3 4=3)

gen votecovas = vote1
recode votecovas (1=1) (else=0)

gen voteboulos = vote1
recode voteboulos (2=1) (else=0)

* for ttest

tab v7, gen(votesp)

* retrospective second round in wave 2

encode v52, gen(vote2)

recode vote2 (.=.) (1=1) (2=2) (3=.) (4=3)


*** FACT CHECKING ATTITUDES

encode v87, gen(fchelp)

recode fchelp (.=.) (1=.75) (2=1)(3=.25) (4=0) (5=.) (6=.5)

encode v88, gen(fcfreq)

recode fcfreq (.=.) (1=.66) (2=.) (3=0) (4=.33) (5=1)

encode v89, gen(fctrust)

recode fctrust (.=.) (1=0) (2=1) (3=10) (4=2) (5=3) (6=4) (7=5) (8=6) (9=7) (10=8) (11=9) (12=.)

replace fctrust = fctrust/10

corr fchelp fcfreq fctrust

alpha fchelp fcfreq fctrust

factor fchelp fcfreq fctrust, factor(1)

predict fcattitudes

summarize fcattitudes

gen fcattitudes_01= (fcattitudes - r(min))/(r(max) - r(min)) 

*** POLITICAL INTEREST

encode v14, gen(interest1)

replace interest1 = (4 - interest1)/3

*** SOCIODEMOGRAPHICS

* religion

encode v83, gen(religion)
recode religion (.=.) (2=1) (5=2) (6=.) (else=0)

gen evangelical = religion
recode evangelical (2=1) (else=0)

gen catholic = religion
recode catholic (1=1) (else=0)

* for ttest

tab v83, gen(relig)


* sex

encode v90, gen(woman)

recode woman (.=.) (1=1) (2=0) (3=.)

* age

encode v91, gen(age)

replace age = (age-1)/58

*gen age = (v91 - 16)/72


* class

encode v93, gen(class)

recode class (6=.)

replace class = (5- class)/4



**************************** ANALYSES

***** MAIN ITT AND CACE (Table 1, no controls)
* (Codes for Table 1)

*** DV: Additive Scale

* ITT

reg fakebelief2_01 treat, vce(robust)
eststo

* CACE using filledinfo

ivreg2 fakebelief2_01 (comply2=treat), first robust
eststo

* CACE using email

ivreg2 fakebelief2_01 (comply1=treat), first robust
eststo

* CACE using email and filledinfo

ivreg2 fakebelief2_01 (comply3=treat), first robust
eststo


*** DV: Gain in Repeated Rumor (diff-in-diff for repeated rumor)

* ITT

reg diff treat, vce(robust)
eststo

* CACE using filledinfo

ivreg2 diff (comply2=treat), first robust
eststo

* CACE using email

ivreg2 diff (comply1=treat), first robust
eststo

* CACE using email and filledinfo

ivreg2 diff (comply3=treat), first robust
eststo

* Table 1 (manually edited in the paper's tex file based on results) 

esttab using Table1.tex, star(* 0.05 ** 0.01 *** 0.001) se(2)
eststo clear


**** EFFECT SIZES (footnotes 18 and 19)

* additive scale of rumor acceptance

reg fakebelief2_01 treat, vce(robust)

esizereg treat

* gain in scores for repeated rumor

reg diff treat, vce(robust)

esizereg treat



**** DESCRIPTIVE STATISTICS
*(Codes for tables A1 and A2 in Appendix 4)

summarize age class woman folhasub fake1_1 fake2_1 fake3_1 fake4_1 fakebelief1_01 treat comply1 comply2 comply3

summarize age class woman folhasub fake1_2 fake2_2 fake3_2 fake4_2 fakebelief2_01 treat comply1 comply2 comply3 if fakebelief2_01!=.


**** BALANCE CHECKS
* (Codes for table A3 in Appendix 5)

* mean comparisons of pre-treatment covariates for treatment in wave 1

foreach var of varlist fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr {

reg `var' treat, robust b

}

* joint effects in wave 1 (F-test)

reg treat fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr, robust

test fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr

* joint effects in wave 1 (Chi-Square)

probit treat fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr

test fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr

* joint effects in wave 1 (Hotelling's T)

hotelling fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr, by(treat)


* mean comparisons of pre-treatment covariates for treatment in wave 2

foreach var of varlist fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr {

reg `var' treat if fakebelief2_01!=., robust b

}

* joint effects in wave 2 (F-Test)

reg treat fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr if fakebelief2_01!=., robust

test fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr

* joint effects in wave 2 (Chi-Square)

probit treat fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr if fakebelief2_01!=.

test fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr

* joint effects in wave 2 (Hotelling's T)

hotelling fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr if fakebelief2_01!=., by(treat)


*** ITT AND CACE with controls

** additive scale of rumor acceptance in 2nd round
* (Codes for Table A5 in Appendix 7)

* ITT, adjusted

reg fakebelief2_01 treat fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr, vce(robust)
eststo

* CACE using filledinfo, adjusted

ivreg2 fakebelief2_01 fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr (comply2=treat), first robust
eststo

* CACE using email, adjusted

ivreg2 fakebelief2_01 fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr (comply1=treat), first robust
eststo

* CACE using email and filledinfo, adjusted

ivreg2 fakebelief2_01 fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr (comply3=treat), first robust
eststo

* Table A5 (manually edited in the paper's tex file based on results) 

esttab using TableA5.tex, star(* 0.05 ** 0.01 *** 0.001) se(2)
eststo clear


** diff-in-diff for repeated rumor
* (Codes for Table A6 in Appendix 7)


* ITT

reg diff treat fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr, vce(robust)
eststo

* CACE using filledinfo, adjusted

ivreg2 diff fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr (comply2=treat), first robust
eststo

* CACE using email, adjusted

ivreg2 diff votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr (comply1=treat), first robust
eststo

* CACE using email and filledinfo, adjusted

ivreg2 diff fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr (comply3=treat), first robust
eststo

* Table A6 (manually edited in the paper's tex file based on results) 

esttab using TableA6.tex, star(* 0.05 ** 0.01 *** 0.001) se(2)
eststo clear



***** PANEL ATTRITION
* (Codes for Table A7 in Appendix 8)


* mean comparisons

foreach var of varlist treat fakebelief1_01 votesp2 votesp3 votesp4 pastvote2 pastvote3 pastvote4 futurevote2 futurevote3 futurevote4 futurevote5 covasapproval1 doriaapproval1 bolsoapproval1 selfknow1_01 othersknow1_01 knowledge1_01 interest1 petista antipetista partisan antipartisan nonpartisan folhasub mediatrust1_01 ideology1_01 age woman class globo1_01 record1_01 fsp1_01 tercalivre1_01 brasilparalelo1_01 uol1_01 jovempam1_01 brasil2471_01 issue1 issue2 issue3 issue4 issue5 issue6 issue7 issue8 russomano_lr tatto_lr covas_lr franca_lr boulos_lr {

reg `var' dropped, robust b

}

reg dropped treat, robust


* F-test for interactions

reg dropped i.treat##c.fakebelief1_01 i.treat##c.votesp2 i.treat##c.votesp3 i.treat##c.votesp4 i.treat##c.pastvote2 i.treat##c.pastvote3 i.treat##c.pastvote4 i.treat##c.futurevote2 i.treat##c.futurevote3 i.treat##c.futurevote4 i.treat##c.futurevote5 i.treat##c.covasapproval1 i.treat##c.doriaapproval1 i.treat##c.bolsoapproval1 i.treat##c.selfknow1_01 i.treat##c.othersknow1_01 i.treat##c.knowledge1_01 i.treat##c.interest1 i.treat##c.petista i.treat##c.antipetista i.treat##c.partisan i.treat##c.antipartisan i.treat##c.nonpartisan i.treat##c.folhasub i.treat##c.mediatrust1_01 i.treat##c.ideology1_01 i.treat##c.age i.treat##c.woman i.treat##c.class i.treat##c.globo1_01 i.treat##c.record1_01 i.treat##c.fsp1_01 i.treat##c.tercalivre1_01 i.treat##c.brasilparalelo1_01 i.treat##c.uol1_01 i.treat##c.jovempam1_01 i.treat##c.brasil2471_01 i.treat##c.issue1 i.treat##c.issue2 i.treat##c.issue3 i.treat##c.issue4 i.treat##c.issue5 i.treat##c.issue6 i.treat##c.issue7 i.treat##c.issue8 i.treat##c.russomano_lr i.treat##c.tatto_lr i.treat##c.covas_lr i.treat##c.franca_lr i.treat##c.boulos_lr 

testparm i.treat#c.fakebelief1_01 i.treat#c.votesp2 i.treat#c.votesp3 i.treat#c.votesp4 i.treat#c.pastvote2 i.treat#c.pastvote3 i.treat#c.pastvote4 i.treat#c.futurevote2 i.treat#c.futurevote3 i.treat#c.futurevote4 i.treat#c.futurevote5 i.treat#c.covasapproval1 i.treat#c.doriaapproval1 i.treat#c.bolsoapproval1 i.treat#c.selfknow1_01 i.treat#c.othersknow1_01 i.treat#c.knowledge1_01 i.treat#c.interest1 i.treat#c.petista i.treat#c.antipetista i.treat#c.partisan i.treat#c.antipartisan i.treat#c.nonpartisan i.treat#c.folhasub i.treat#c.mediatrust1_01 i.treat#c.ideology1_01 i.treat#c.age i.treat#c.woman i.treat#c.class i.treat#c.globo1_01 i.treat#c.record1_01 i.treat#c.fsp1_01 i.treat#c.tercalivre1_01 i.treat#c.brasilparalelo1_01 i.treat#c.uol1_01 i.trea#c.jovempam1_01 i.treat#c.brasil2471_01 i.treat#c.issue1 i.treat#c.issue2 i.treat#c.issue3 i.treat#c.issue4 i.treat#c.issue5 i.treat#c.issue6 i.treat#c.issue7 i.treat#c.issue8 i.treat#c.russomano_lr i.treat#c.tatto_lr i.treat#c.covas_lr i.treat#c.franca_lr i.treat#c.boulos_lr 



**** BOUNDING
* (Codes for Table A8 in Appendix 9)
* notice that we use the terms upper and lower in the tables in the opposite direction as the code. Because our main expected effect is negative, we refer to increases in magnitude (more negative) as upper bounds and decreases in magnitude (more positive) as lower bounds

** Extreme bounds (Manski 1989)
*(upper bound: impute belief==0 for every dropped person in treatment, belief==1 for control)
*(lower bound: impute belief==1 for every dropped person in treatment, belief==0 for control)

* additive scale, lower bound (column 4)

gen fakebelief2_lb = fakebelief2_01
replace fakebelief2_lb= 0 if fakebelief2_01==. & treat==1
replace fakebelief2_lb= 1 if fakebelief2_01==. & treat==0

reg fakebelief2_lb treat, vce(hc3)


* additive scale, upper bound (column 1)

gen fakebelief2_ub = fakebelief2_01
replace fakebelief2_ub= 1 if fakebelief2_01==. & treat==1
replace fakebelief2_ub= 0 if fakebelief2_01==. & treat==0

reg fakebelief2_ub treat, vce(hc3)


* diff for repeated rumor, lower bound (column 4)

gen diff_lb = diff
replace diff_lb = -1 if diff==. & fake1_1==1 & treat==1
replace diff_lb = 0 if diff==. & fake1_1==0 & treat==1
replace diff_lb = 1 if diff==. & fake1_1==1 & treat==0
replace diff_lb = 1 if diff==. & fake1_1==0 & treat==0

reg diff_lb treat, vce(hc3)


* diff for repeated rumor, upper bound (column 1)

gen diff_ub = diff
replace diff_ub = 1 if diff==. & fake1_1==1 & treat==1
replace diff_ub = 1 if diff==. & fake1_1==0 & treat==1
replace diff_ub = 0 if diff==. & fake1_1==1 & treat==0
replace diff_ub = -1 if diff==. & fake1_1==0 & treat==0

reg diff_ub treat, robust



** Trimming bounds (Lee 2009)

* additive scale, no tightening (columns 5 and 2)

leebounds fakebelief2_01 treat, select(select) cie


* gain scores for repeated rumor, no tightening (columns 5 and 2)

leebounds diff treat, select(select) cie




** Magarlit & Shayo's lower

* additive scale, lower bound (column 3)

gen fakebelief2_lb2 = fakebelief2_01
replace fakebelief2_lb2= fakebelief1_01 if fakebelief2_lb2==.

reg fakebelief2_lb2 treat, vce(hc3)


* diff-in-diff for repeated rumor, lower bound (column 3)

gen diff_lb2 = diff
replace diff_lb2= 0 if diff==. 

reg diff_lb2 treat, vce(hc3)


**** HTEs (knowledge, bolsonarismo, media trust, interest)

* additive scale
* (Codes for Table A9 in Appendix 10)

reg fakebelief2_01 c.treat##c.knowledge1_01, robust

reg fakebelief2_01 c.treat##c.bolsoapproval1, robust

reg fakebelief2_01 c.treat##c.mediatrust1_01, robust

reg fakebelief2_01 c.treat##c.interest1, robust


* diff-in-diff for repeated rumor
* (Codes for Table A10 in Appendix 10)

reg diff c.treat##c.knowledge1_01, robust

reg diff c.treat##c.bolsoapproval1, robust

reg diff c.treat##c.mediatrust1_01, robust

reg diff c.treat##c.interest1, robust


*** Types of rumors

** pro-Bolsonaro rumors in 2nd round (no controls)
* (Codes for Table A11 in Appendix 11)

* ITT

reg fakepos treat, vce(robust)
eststo

* CACE using filledinfo

ivreg2 fakepos (comply2=treat), first robust
eststo

* CACE using email

ivreg2 fakepos (comply1=treat), first robust
eststo

* CACE using email and filledinfo

ivreg2 fakepos (comply3=treat), first robust
eststo

* Table A11 (manually edited in the paper's tex file based on results) 

esttab using TableA11.tex, star(* 0.05 ** 0.01 *** 0.001) se(2)
eststo clear


** anti-Bolsonaro rumors in 2nd round (no controls)
* (Codes for Table A12 in Appendix 11)

* ITT

reg fakeneg treat, vce(robust)
eststo

* CACE using filledinfo

ivreg2 fakeneg (comply2=treat), first robust
eststo

* CACE using email

ivreg2 fakeneg (comply1=treat), first robust
eststo

* CACE using email and filledinfo

ivreg2 fakeneg (comply3=treat), first robust
eststo

* Table A12 (manually edited in the paper's tex file based on results) 

esttab using TableA12.tex, star(* 0.05 ** 0.01 *** 0.001) se(2)
eststo clear


** other DV: political knowledge (no controls)
* (Codes for Table A13 in Appendix 11)


* ITT

reg knowledge2_01 treat, robust
eststo

* CACE using filledinfo

ivreg2 knowledge2_01 (comply2=treat), first robust
eststo

* CACE using email

ivreg2 knowledge2_01 (comply1=treat), first robust
eststo

* CACE using email and filledinfo

ivreg2 knowledge2_01 (comply3=treat), first robust
eststo


* Table A13 (manually edited in the paper's tex file based on results) 

esttab using TableA13.tex, star(* 0.05 ** 0.01 *** 0.001) se(2)
eststo clear


** other DV: media trust (no controls)
* (Codes for Table A14 in Appendix 11)

* ITT

reg mediatrust2_01 treat, robust
eststo

* CACE using filledinfo

ivreg2 mediatrust2_01 (comply2=treat), first robust
eststo

* CACE using email

ivreg2 mediatrust2_01 (comply1=treat), first robust
eststo

* CACE using email and filledinfo

ivreg2 mediatrust2_01 (comply3=treat), first robust
eststo


* Table A14 (manually edited in the paper's tex file based on results) 

esttab using TableA14.tex, star(* 0.05 ** 0.01 *** 0.001) se(2)
eststo clear


** other DV: fact-checking attitudes (no controls)
* (Codes for Table A15 in Appendix 11)

* ITT

reg fcattitudes_01 treat, robust
eststo

* CACE using filledinfo

ivreg2 fcattitudes_01 (comply2=treat), first robust
eststo

* CACE using email

ivreg2 fcattitudes_01  (comply1=treat), first robust
eststo

* CACE using email and filledinfo

ivreg2 fcattitudes_01 (comply3=treat), first robust
eststo


* Table A15 (manually edited in the paper's tex file based on results) 

esttab using TableA15.tex, star(* 0.05 ** 0.01 *** 0.001) se(2)
eststo clear




***** END OF CODE



